The growth of the Internet® and the World Wide Web (also known as the “Web”) has spawned an explosion of online services. The accessibility of the Internet® to end-users and clients (i.e., end-user programs and applications) has opened the door to a vast array of web-based services and applications offered by hosting companies. Typically, hosting companies make available or sell to clients services or applications that provide Internet based services, such as web space for a web site, email, and the like. The client, in turn, may offer those services to end users (which may also be considered clients). The services that are made available and sold by hosting companies are maintained on computer interfaces commonly known as “servers”. Servers are computers or hardware on which the services that clients use reside. Services available on the servers are transmitted from the server software to the client software over communication lines in packets of data according to defined protocols, such as the HyperText Transport Protocol (HTTP), File Transport Protocol (FTP), etc.
The frenetic pace of computer innovation has increased the need for hosting companies to provide services that are quickly accessible and have enhanced performance. For instance, many end users utilize the Web to transact business, order supplies, and exchange information. As a result, hosting companies are under increased pressure to deliver hosting services to clients that are more accessible, problem free and match the rapid pace in which services are utilized by the end-users or customers of the client. Nonetheless, hosting companies often experience a multitude of problems in delivering hosting services to clients that offer web based services to end-users.
Many of the problems experienced by hosting companies are caused by features of the client's account not working properly or errors on the part of the hosting company in setting-up the account. Typically, a client may set-up an account by telephoning a sales representative of the hosting company to request a particular account or service. The sales representative will then take all of the information from the client (such as the name, address, and billing information) and pass that information to a system administrator who is in charge of actually setting-up the account for the client. Setting-up the account requires a series of tasks in configuring system files of the server(s) according to attributes or settings that are desired by the client when the account is used. If the system administrator enters data incorrectly, the account will not function according to the client's desire. Therefore, the client cannot use the account as desired until the errors are corrected.
A disadvantage in setting up client accounts is the amount of time that is necessary to configure the server's system or configuration files to the proper settings. Depending upon how complex the server(s) of the hosting company are, the process of setting-up an account for each of the hundreds of thousands of end users that may access the hosting company's servers, may take hours, or up to a few weeks to completely set-up each client's account. The delays in setting-up an account increases exponentially as more and more clients request services from the hosting company.
Even the advent of online applications has not made the task of setting-up an account error free. Online applications typically require the client to enter account information by answering a series of questions that are posted on the web page. Based upon the information entered, the attributes of the account are setup by the system administrator of the hosting company by modifying the system files of the server accordingly. However, problems typically arise when the client's account is not setup according to the client's desires. For example, if the client notices that the account is not working properly, a technical support representative of the hosting company will have to be contacted to fix the problem. Nonetheless, in order to fix the problem, the technical support representative must contact the system administrator who, as a general rule, does not speak with the client directly, but is in charge of correcting errors of the client's account. Therefore, the speed in which the problem can be fixed rests solely on the shoulders of the technical support representative to not only describe what the problem is but also to explain what the client ultimately desires. Of course, with all of these multiple levels of communication, the room for human error increases. As a result, delays in adjusting an account to suit the needs of a client often arise. These delays directly impact upon the ability of the hosting company to deliver and offer its hosting services for sale, in the highly competitive world of computer technology.
As an additional problem, prior art client-server architecture commercially available today from hosting companies typically use one server to provide all of the services that are available to the client. In short, one server is used to run programs such as email, login requirements, web-page management, email management, and the like. Each of the services running on the server relies upon a central repository of memory located within the server to store the attributes of the client's account. However, as the number of clients that are assigned to a particular server increases, delays in the hosting company's ability to offer the hosting services used by the end users and/or clients often arise. Delays of this sort are caused by too many clients or end-users of a client requesting hosting services at or about the same time, which causes the server to operate near full capacity. To overcome these problems, many hosting companies will limit the number of clients that are assigned to a particular server, frequently utilizing only about half of the server's capacity. When new clients are added, the hosting company will use a new server to offer the identical array of hosting services that are offered by existing servers. Nonetheless, the process of adding new servers becomes expensive, particularly in view of the fact that each server is not used to capacity. This is an inefficient way to provide services. Moreover, no matter how many servers are added in accordance with the current practice of the industry, each server will experience the same delays in offering hosting services when the capacity of the server is reached.
To overcome the problems and disadvantages described above, it is desired to provide an automated system and method for configuring servers for use in delivering hosting services to a client. It is further desired to provide a controller for use by a client, to automate the task of creating, maintaining, and deleting services offered by hosting companies for use by end-users. It is also desired to provide an automated client-server system that increases the speed in which services to a client are delivered and permits flexibility in connecting servers from different hosting companies or vendors, to provide the services offered to the client.